package com.fumin.dao;

import com.fumin.beans.PageQuery;
import com.fumin.model.SysAcl;
import org.apache.ibatis.annotations.Param;
import java.util.List;

public interface SysAclMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(SysAcl record);

    int insertSelective(SysAcl record);

    SysAcl selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(SysAcl record);

    int updateByPrimaryKey(SysAcl record);

    /**
     * 获取权限模块的权限点个数
     * @param aclModuleId 权限模块ID
     * @return
     */
    int countByAclModule(@Param("aclModuleId") int aclModuleId);

    /**
     * 分页查找权限模块下的权限点
     * @param aclModuleId 权限模块ID
     * @param page 分页对象
     * @return
     */
    List<SysAcl> getPageByAclModuleId(@Param("aclModuleId") int aclModuleId, @Param("page") PageQuery page);

    int countByNameAndAclModuleId(@Param("aclModuleId") int aclModuleId,@Param("name") String name,@Param("id") Integer id);

    /**
     * 获取所有权限列表
     * @return
     */
    List<SysAcl> getAll();

    List<SysAcl> getByIdList(@Param("idList") List<Integer> idList);

    /**
     * 根据请求url获取权限点列表
     * 因为一个url,可能给多个权限点使用,所以返回list
     * @param url
     * @return
     */
    List<SysAcl> getByUrl(@Param("url") String url);
}